home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / program / eflibpt4.zip / DEMO / WINDOWS / WINPERF.PAS < prev   
Pascal/Delphi Source File  |  1996-08-07  |  2KB  |  50 lines

  1. { Borland Pascal Extended Function Library - EFLIB (C) Johan Larsson, 1996
  2.   Demonstration; window performance test
  3.  
  4.   EFLIB IS PROTECTED BY THE COPYRIGHT LAW AND MAY NOT BE COPIED, SOLD OR
  5.   MANIPULATED. FOR MORE INFORMATION, SEE PROGRAM MANUAL! THIS DEMONSTRAT-
  6.   ION PROGRAM MAY FREELY BE USED AND DISTRIBUTED.                          }
  7.  
  8.  
  9. uses EFLIBDEF, EFLIBINI, EFLIBWIN, EFLIBBAS, EFLIBSCR, EFLIBMSE, EFLIBKBD;
  10.  
  11.  
  12. const TestWindows = 500;
  13.  
  14. var Window : WindowObjectPointerType;
  15.     Level : word; X1, Y1, X2, Y2 : byte;
  16.     RunTimer : TimerObjectType;
  17.  
  18.  
  19. begin
  20.      Mouse.HideCursor; RunTimer.Initialize;
  21.  
  22.      RandSeed := 1; { Control random seed }
  23.  
  24.      { Standard (exploding) windows ... }
  25.      for Level := 1 to TestWindows div 2 do begin
  26.          { Create random window object ... }
  27.          X1 := Succ(Random(Screen.Width div 2));
  28.          X2 := X1 + Succ(Random(Screen.Width div 2));
  29.          Y1 := Succ(Random(Screen.Height div 2));
  30.          Y2 := Y1 + Succ(Random(Screen.Height div 2));
  31.          { Allocate window }
  32.          New (Window, InitializeWindow (X1, Y1, X2, Y2, '', ThinBorder, FALSE, FALSE));
  33.          Window^.Free; { Dispose window }
  34.      end;
  35.  
  36.      { Kept windows ... }
  37.      for Level := 1 to TestWindows div 2 do begin
  38.          { Create random window object ... }
  39.          X1 := Succ(Random(Screen.Width div 2));
  40.          X2 := X1 + Succ(Random(Screen.Width div 2));
  41.          Y1 := Succ(Random(Screen.Height div 2));
  42.          Y2 := Y1 + Succ(Random(Screen.Height div 2));
  43.          { Allocate window }
  44.          New (Window, InitializeWindow (X1, Y1, X2, Y2, 'Window speed!', DoubleBorder, FALSE, FALSE));
  45.          Window^.Free; { Dispose window }
  46.      end;
  47.  
  48.      WriteLn (RunTimer.ElapsedMS:0:0,' ms for ', TestWindows, ' random windows ... that''s EFLIB!');
  49.      RunTimer.Intercept;
  50. end.